﻿/**
 * jQuery EasyUI 1.2.5
 * 
 * Licensed under the GPL terms
 * To use it on other terms please contact us
 *
 * Copyright(c) 2009-2011 stworthy [ stworthy@gmail.com ] 
 * 
 */
(function($){
    function _1(_2){
       
        var _3=$.data(_2,"datebox");
        var _4=_3.options;
        $(_2).addClass("datebox-f");
        $(_2).combo($.extend({},_4,{
            onShowPanel:function(){
                _3.calendar.calendar("resize");
                _4.onShowPanel.call(_2);
            }
        }));
    $(_2).combo("textbox").parent().addClass("datebox");
    if(!_3.calendar){
        _5();
    }
    function _5(){
        var _6=$(_2).combo("panel");
        _3.calendar=$("<div></div>").appendTo(_6).wrap("<div class=\"datebox-calendar-inner\"></div>");
        _3.calendar.calendar({
            fit:true,
            border:false,
            onSelect:function(_7){
                var _8=_4.formatter(_7);
                _c(_2,_8);
                $(_2).combo("hidePanel");
                _4.onSelect.call(_2,_7);
            }
        });
    _c(_2,_4.value);
    var _9=$("<div class=\"datebox-button\"></div>").appendTo(_6);
    $("<a href=\"javascript:void(0)\" class=\"datebox-current\"></a>").html(_4.currentText).appendTo(_9);
    $("<a href=\"javascript:void(0)\" class=\"datebox-close\"></a>").html(_4.closeText).appendTo(_9);
    _9.find(".datebox-current,.datebox-close").hover(function(){
        $(this).addClass("datebox-button-hover");
    },function(){
        $(this).removeClass("datebox-button-hover");
    });
    _9.find(".datebox-current").click(function(){
        _3.calendar.calendar({
            year:new Date().getFullYear(),
            month:new Date().getMonth()+1,
            current:new Date()
            });
    });
    _9.find(".datebox-close").click(function(){
        $(_2).combo("hidePanel");
    });
};
};
function _a(_b,q){
    _c(_b,q);
};
function _d(_e){
    var _f=$.data(_e,"datebox").options;
    var c=$.data(_e,"datebox").calendar;
    var _10=_f.formatter(c.calendar("options").current);
    _c(_e,_10);
    $(_e).combo("hidePanel");
};
function _c(_11,_12){
    var _13=$.data(_11,"datebox");
    var _14=_13.options;
    $(_11).combo("setValue",_12).combo("setText",_12);
    _13.calendar.calendar("moveTo",_14.parser(_12));
};
$.fn.datebox=function(_15,_16){
    if(typeof _15=="string"){
        var _17=$.fn.datebox.methods[_15];
        if(_17){
            return _17(this,_16);
        }else{
            return this.combo(_15,_16);
        }
    }
    _15=_15||{};
    return this.each(function(){
        var _18=$.data(this,"datebox");
        if(_18){
            $.extend(_18.options,_15);
        }else{
            $.data(this,"datebox",{
                options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_15)
                });
        }
        _1(this);
    });
};
$.fn.datebox.methods={
    options:function(jq){
        return $.data(jq[0],"datebox").options;
    },
    calendar:function(jq){
        return $.data(jq[0],"datebox").calendar;
    },
    setValue:function(jq,_19){
        return jq.each(function(){
            _c(this,_19);
        });
    }
};
$.fn.datebox.parseOptions=function(_1a){
    var t=$(_1a);
    return $.extend({},$.fn.combo.parseOptions(_1a),{});
};
$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{
    panelWidth:180,
    panelHeight:"auto",
    keyHandler:{
        up:function(){
        },
        down:function(){
        },
        enter:function(){
            _d(this);
        },
        query:function(q){
            _a(this,q);
        }
    },
currentText:"Today",
closeText:"Close",
okText:"Ok",
formatter:function(_1b){
     
    var y=_1b.getFullYear();
    var m=_1b.getMonth()+1;
    var d=_1b.getDate();
    return (d<10?('0'+d):d)+'/'+(m<10?('0'+m):m)+'/'+y;
},
parser:function(s){
    if (!s) return new Date();
    var ss = s.split('/');
    var d = parseInt(ss[0],10);
    var m = parseInt(ss[1],10);
    var y = parseInt(ss[2],10);
    if (!isNaN(y) && !isNaN(m) && !isNaN(d)){
        return new Date(y,m-1,d);
    } else {
        return new Date();
    }
},
onSelect:function(_1c){
    }
});
})(jQuery);

